rename(2)はファイルシステムまたげないのでそういうもの。
自前でコピーしてunlinkするしかないな。ありがちなことなので
探せばライブラリあると思うけどね。perlだとFile::Copyとか。