ADB Push not keeping file permissions, specifically execute permission
You can try to install Busybox, SSHelper and Android Terminal Emulator (ATE). Then try to SSH into your device, if adb shell doesn't work. Google for SSH options how to specify the shell to run with remote SSH login. Probably something like ssh user@ip /system/bin/sh or try with ... /system/xbin/ash. Or in ATE you can specify under settings, the shell to use.