A couple options come to mind, and I'm certainly no expert. I'm fairly new to these but have been trying things out just to get up to speed.
- Amazon EBS (Elastic Block Store) - it's a persistent block storage (like a mountable drive) that you can attach to EC2 instances.
- chef from Opscode - it's probably overkill if you have a simple setup, but there are some nifty "recipes" for automated setup+config of EC2 instances. I've really only played with this one a bit, having gone through a few of their samples just to see what it's capable of.
The advantages of these setups is that you don't need to modify your own AMI instances whenever you change you application/config. Although if you're always fetching your app from S3 that sortof already solves this problem.
If all you need is a simple shell script for fetching a file from AWS, you could use the unix tools wget or curl.
#!/bin/bash
cd /some/destination/path/
curl -v --header 'Date: Fri, 27 May 2011 14:17:00 -0500' \
--header 'Authorization: AWS AWSAccessKeyId:Signature' \
"https://s3.amazonaws.com/your-s3-bucket/path/to/file.xml"
It would be a heckuvalot easier if the file is public, since generating the Signature for the authorization is not trivial to do.
There is a suite of command-line tools called s3-bash but it would still need your secret access key for authorization...