I use this to copy programs from termux.
in termux (you need lld [pkg i lld]):
mkdir /sdcard/.adb
cp `which bash` /sdcard/.adb
cp $(ldd `which bash`|cut -d ">" -f2) /sdcard/.adb
in adb shell: cd /data/local/tmp
cp /sdcard/.adb/bash
cp /sdcard/.adb/*.so
LD_LIBRARY_PATH=.
./bash
For cases where an adb shell is needed (modify external storage, slightly more permissions if not rooted) it's approximately possible to just copy necessary executables and .so files from termux to /data/local/tmp/ for adb (with some LD_LIBRARY_PATH & co setup), allowing running bash, htop, etc.