Run downloaded shell command without root?
Yes, this is by design.  You can't execute binaries from the SD card without system or superuser privileges (and remounting it without the noexec option) because otherwise apps could just download and execute malicious code at will.  In older versions of Android the SD card also did not have emulated permissions so chmod would naturally fail.

Some devices/older versions of Android might allow execution from /data/local/tmp/, so you could try putting it there.  Otherwise, you'll probably need root.