I know there was some dos util on the old dist. of RedHat that could do that. You had to defrag first, and then you could put the linux partion in the empty space at the end of the drive.

I want to say the name of it was DiskDruid, but I'm sure that's not it. If you look under dos/utils on your install cd it should be there somewhere