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
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).