Some core services use Bash, even though their scripts are POSIX
A few core dinit services forcefully use Bash to run their scripts, even though they don't need to, because the scripts they run are POSIX compliant. I found this out when trying to change my shell completely to Dash, since I wanted my system to be as light and fast as possible.
After uninstalling Bash, changing the shell for all users to Dash and symlinking /bin/sh to /bin/dash, my system was unable to boot properly and sent me into recovery mode. Immediately, I noticed almost all the services either were stopped or had failed to load, with only a few actually throwing an error. The first one to catch my eye was from the dbus-pre service, which said: dinit: dbus-pre: execution failed - executing command: No such file or directory
I suspected that uninstalling Bash may have caused something with that service to break, so I checked the service file in /etc/dinit.d, and sure enough, the stop-command line read: /bin/bash /usr/lib/artix/sv-cg.sh down dbus
I booted into a USB and changed that line to use /bin/sh instead of /bin/bash, and did the same for the dbus script in /usr/lib/dinit/pre. I then tested if dinit would boot successfully by running dinit -o, but all the services were still failing. This had me stumped for a while, until I realized my screen may be too small to fit all the services in at once. I ran dinit -o | more to see them all, and then I found the culprit: dinit: cgroups: execution failed - executing command: No such file or directory
It was the same thing as the dbus-pre service, except now it was the cgroups script in /usr/lib/dinit.d. I changed /bin/bash to /bin/sh in the command, reran dinit -o, and it finally booted normally! The USB boot started having a panic attack with multiple dinit sessions running at once, but I was able to dig my way out of it, unmount the root partition, and reboot into a working system once again.
As fun as it was figuring everything out though, I'd much rather have these services pre-configured to use /bin/sh instead of /bin/bash, so anyone who wanted to replace Bash with a different shell wouldn't have to worry about breaking their system. Every service script I've seen other than the ones I've mentioned either are already ran with /bin/sh or have a shebang that runs it, so it shouldn't be that difficult to change. It would save the crazy people like me a lot of headaches in the future.