You can override this default shell by specifying two environment variables before starting Dyalog APL; CMD_PREFIX and CMD_POSTFIX.
Unix Example: (this is AIX-specific)
To run a restricted shell from within )sh or ⎕sh so that the user could not include "/" in their command
export CMD_PREFIX="exec Rsh -c \"'$*'"
export CMD_POSTFIX="\""
With this setting, then in an APL session
⎕sh'/bin/ls'
Rsh: /bin/ls: 0402-014 The operation is not allowed in a restricted shell.
Windows Example:
To use the PowerShell:
In either the registry or in the shortcut to APL
CMD_PREFIX="powershell.exe"
CMD_POSTFIX=""
⎕cmd'Get-Host'
Name : ConsoleHost
Version : 2.0
InstanceId : 6e334210-e16d-4bc8-a0cb-644291d61cfa
UI : System.Management.Automation.Internal.Host.InternalHostUserI
nterface
CurrentCulture : en-GB
CurrentUICulture : en-US
PrivateData : Microsoft.PowerShell.ConsoleHost+ConsoleColorProxy
IsRunspacePushed : False
Runspace : System.Management.
Be aware that in all cases you may face issues involving escaping quotes correctly !