if you're both happy enough using terminal commands, split and cat should do it.
First make a zip file (if you haven't already), as you can often make the file quite a bit smaller.
then cut the file into pieces you can send. For example, if you find you can send at most 5 megs at a time, a command something like this:
split -b 5m bigfile.zip pieces
You'll get a bunch of 5 meg files called piecesaa through pieceszz (it wouldn't actually go as high as zz of course, as you'd only need about 30 files if you're splitting into 5 meg pieces). You send these files. Your friend gets them all together in a folder and does something like
cat pieces* >> bigfile.zip
And you're set.