I'm wondering if anyone knows a good way of throttling generic programs that send data over the network. For example, I want to transfer a large amount of data and and it may even run for days, but I can't have it chew up the whole network pipe as this will cause problems for other servers and things that must have enough bandwidth. If I upload a huge amount of data, I don't suddently want all services that use that same pipe to time out.

Ideally I am looking for something like
throttle program-name --options
that I can use from the command line to enforce usage restrictions on things that may not have them built into them.

There are programs like netlimiter for windows that can throttle any arbitrary program's network usage both upload and download separately but I don't know of anything similar for linux.

Any recommendations?