Reverse Tethering over USB with non rooted Android 5.1 Phone and Linux PC
Sorry for this late response, but as it seems you have not found a solution yet, I though I'd chime in:

I was also looking for a reverse tethering solution for unrooted devices, but could not find any. Eventually, I started to develop my own solution. The result is an app that works on devices running Android 4.0 or higher on client side, and all major desktop OSs on the host side.

The app is available on Google Play: ReverseTethering NoRoot