Just to clarify, I assume you are using the Import/Export module, NOT Dataflow. If you have been using Dataflow please try the same process with Import/Export module and see if your results improve.
This is definitely standard functionality - please see my linked CSV export from a fresh install of Magento CE 1.7.0.2 with sample data installed. Do a search for small_image and you'll find the correct columns:
image_label, small_image, small_image_label, thumbnail, thumbnail_label
There are also these columns for controlling the media gallery:
media_gallery, _media_attribute_id, _media_image, _media_lable, _media_position, _media_is_disabled
The Magento import/export is tricky, there's no two ways about it. There's basically no documentation and some quirks/bugs that can cause unexpected results. Everyone who knows how to use Mage_ImportExport has most likely spent hours crying into their keyboards at some stage.
That being said, it does work and it does work well once you know the tricks. If you could post your CSV here and maybe tell us if you've made any customisations to your Magento installation then the community will be able to better assist you.
Also, make sure you are not ticking any of the attribute 'skip' checkboxes when you are performing your export.
The answer is yes. You have the full availability of Magento's abstract factory when you run a shell script. My guess is there is a problem with your helper declaration or your module's config file.
What is the scope of your declaration of your helpers? Is it in the <global>
node?
Best Answer
It depends how you approach it, I have on many occasions had no choice but to import CSV via a shell script - files coming from third party sources that cant be practical to split up.
Formats that are from non technical clients and not able to get them to put it into a format that the Magento Data importer works.
Writing a custom importer is relatively easy but you need to ensure you can handle error conditions in a sensible way. You also will need to ensure that all of the data attributes are pre-defined , or that you are able to create them on the during the import process.
Benefits
Disadvantages
There are some alternatives out there that I would reccomend you consider investigating before deciding that writing your own custom CSV importer is the correct strategy for your requirements. I have outlined two of the popular options below.
Magmi
Magmi is a mass importer for Magento, quite popular although it does have some bugs so it may not work for every senario. I've recently used it on a project and we had to disable some import functionality (to do with categories) because it broke price importing.
See More: http://sourceforge.net/projects/magmi/files/
API Import
It might not be using a CSV to do an import, but I think it might be worth considering. It was mentioned at a recent conference which I went to the author being a presenter. I think you will need to do a bit of pre import leg work to get it to the right setup but you can be fairly sure it will import correctly.
See More: https://github.com/danslo/ApiImport