How can I get Reverse USB Tethering to work on my KitKat device? I've already got it running on my Jellybean device
After some trial and error seem to have managed to get it working, turns out it is a DNS issue. If anyone else has this issue then it turns out that you need some extra commands in order to get KitKat to work.

I added these on to the end of my script posted above and I can now ping google and get pings returned:

adb shell su -c 'ndc resolver setifdns rndis0 "" 192.168.1.1 192.168.1.1'
adb shell su -c 'ndc resolver setdefaultif rndis0'


Substitute 192.168.1.1 with the IP address of your router, it uses this address for DNS. 

Now I'm going to try google DNS (8.8.8.8) and see if it still works, and also see if I can get it to play nice with my Jellybean device being hooked up to the same linux box.