The documentation mentions the variable JAMSHELL which allows changing the shell that b2 uses to execute commands. But when I set it in my jamroot it seems that it has no effect.
I use the MSVC compiler.
Example:
JAMSHELL = cmddd /C % ; # cmddd is not a shell on my computer so should break b2 but it does not
You need to inject it into the module
msvc:source