Apparently it isn't as shown in #2344.
But this guy is also open for how to configure his system correctly.
OK, .bashrc won't be read on linux because calling /bin/bash -c <some command> won't make it interactive. I wasn't thinking about the linux case much but there it won't really make much difference which shell is used because no config file is read in that case (unlike macOS where the shell should be login to match the system behavior so e.g. .bash_profile is read). Even .profile won't be read in this case in linux. You'd have to specify e.g. BASH_ENV to read some external config file.
Ah, I misread the man page of bash. So you have to specify ENV to read something. At least this is posix specified and should be implemented by any /bin/sh (also zsh according to its man page). So I suggest we stick to sh and set ENV to ~/.profile before invoking, and document that in the manual (maybe the value of ENV could be configurable if really needed but I'm not there yet, ~/.bashrc / ~/.zprofile wouldn't work for anything but the simplest files)
I understand that there is desire to share configuration with shells. But I disagree that we need to specifically need to support a variety of shells, if there is a solution that works for many (all?) shells by being posix specified.
With this the login shell parameter wouldn't be necessary on any platform right?