You can use tc to "shape" bandwidth utilization based on network addresses or marked packets. Once upon a time there was some option in IPTables for marking packets then using tc I can't remember what it is. It's not in my iptables --help anywhere so they may have taken it out. Which is just as well because it's probably based off pid or owner. PID's get recycled and owner would be too vague. If you know the rough range of network addresses, tc might be preferable since learning it can pay off in other areas. If you can't, then the application itself might be the only criteria you can reliably use.
If you have a reasonably current kernel you can limit an application's bandwidth usage via cgroups. Here is another answer showing a short example of how to set up the cgroup.
cgroups are preferable because fork's and execve's catch the new children, so any child processes get added to the same cgroup. That's why that answer I linked works even though they only add their shell's pid (the cgroup catches bash's calling of execve and adds the PID to the same cgroup).