Look for gnu parted. There are a couple of live cds out there with it, like "Parted Magic" and others.
Parted can resize fat and ntfs file systems among others.
Unfortunately `parted` doesn't work with this setup where the partition size is different to the filesystem size and throws up lots of errors. I even tried downloading the latest version of parted but still no go :-/
Dan