You don't say which version of Magisk you have when you are reporting "/bin/*sh".
Magisk 21.3
Manager 8.0.7
I don't care which modules you have, I think you should try disabling all modules and see if that affects whether "sh" is in "/bin", and whether that is enough to get termux to "work". (I need help here. I don't know what termux is. I also thought it was just another terminal emulator. Then I Googled it and a snippet said it installs a linux-like environment on a (not necessarily rooted) device. I don't know what that says about what normal things get hidden/replaced.)
I use Termux bcoz they have a Termux:Widget app where iam able to start scripts by just pressing a script file i added in the widget.
Those scripts i started to create bcoz i got *little* problems with Kernel Adiutor.
(now iam using SmartPack but the same problems)
In SmartPack i go to "Misc" for example:
I set Vibration value from '100' to '22' and i set *start at boot*.
After boot it's still 100 ... wtf
My idea was to write a little code to execute a command to change this value.
(don't like to open app etc.)
Just click and work is done

Termux:Widget helped me to do this.
These are the commands iam using in my script
(to change the Vibrator value):
su -c chmod 644 /sys/class/timed_output/vibrator/vtg_level
su -c echo 22 > /sys/class/timed_output/vibrator/vtg_level
su -c chmod 444 /sys/class/timed_output/vibrator/vtg_level
my first line is always
#!/system/bin/sh
in all my scripts.
My next idea was to execute it on boot.
Termux does have a Termux:Boot app but it didn't worked (don't know why?) for me.
This is why i installed Magisk bcoz since then i got those scripts working at boot.
(i put them in the service.d folder)
I don't really need those scripts but i learned quite a lot with all those googling n searching in xda n writing sessions.
What is your busybox install?
Iam using BusyBox Installer by Stericson(?)
with version 1.31.1
I mean, did you do something to deliberately install busybox? Or do you just know you have busybox installed? (I had busybox in Kitkat; in Android 9, it's using toybox.)
BusyBox iam using since my beginnings of rooting (my samsungs) and i just click install.
I always (i think so) installed BusyBox into
/system/xbin
I was flailing when I suggested looking for every shell I could remember. It's not important that you don't have most of them.
haha lol sorry ^^
What *is* important is that you *do* have "sh". Confirm or deny: You found "sh" in "/bin", but when you run termux and try to run a script, something says you do *not* have "/bin/sh"?
Yes it says so.
When i open Termux iam first
$
next i type
$ whoami
i get
$ (name of the owner but not "root")
(here i think it's not possible to get my boot.sh running bcoz iam still not "root")
(ok it *is* running but the commands are not able to execute)
now i type
$ su
i get
#
and
# whoami
# root
iam "root"
now i type
# sh boot.sh
or just
# ./boot.sh
and it's running & working.
What is a script manager app? How is it different from a terminal emulator?

It's just an app where i can execute scripts.
I installed it (2 days ago) and i just tested it.
It *is* the same (Termux too) as a Terminal Emulator
Are the "su" commands you needed to change inside the script you are executing? Or is the "su" command the way you run the script?
Inside the script.
I was reading a lot across threads to figure out how to write a script almost correctly and to get them running.
But i still need more practice to understand
why is something working
and
why is something not working.
Just as a test, if termux is "not working", and is saying "sh not found": Try deleting the line "#!/system/bin/sh" from the beginning of one script file. Whether it works or not, try replacing that line with "#!/bin/sh". (I assume you have a link "/bin" pointing to "/system/bin".)
I'll test it now and will txt back asap ...