ip addr add 10.10.101.30 dev eth0
ip route add 10.10.101.0/24 via 10.10.101.254 dev eth0
ip addr add 10.10.201.30 dev eth1
ip route add 10.10.201.0/24 via 10.10.201.254 dev eth1
ip route del 10.10.101.0/24
ip addr del 10.10.101.30
ip route del 10.10.201.0/24
ip addr del 10.10.201.30
Ваш цикл while(1) работает без задержки, поэтому за 1 секунду легко набежит 10 миллионов повторов, если не больше (зависит от CPU). Хотя-бы usleep(1000); в конце цикла поставьте.
И ещё, скрипт у вас не останавливается, он просто бесконечно бегает в этом цикле, из которого нет выхода (пока Ctrl+C не сделаете).