Have you created a custom php.ini file for your website or has your Host created a php.ini file for your website or is your Host disabling shell_exec in the Host Server’s php.ini file? If you have created a custom php.ini file then check it and look for the disable_functions directive shown below.
disable_functions = system, exec, passthru, shell_exec, show_source, popen, pclose, pcntl_exec
These functions above are the recommended functions to disable with the disable_functions directive in a php.ini file, but you can of course remove shell_exec. Personally I would not do that on my sites, but that is of course up to you. I’m not sure what the json_encode php error is caused by. BPS does not do anything with or to or block json_encode so that php error is totally unrelated to BPS in any way.