Posso estar errado, mas acredito que os sudoers também restringem os parâmetros que podem ser passados para um comando / script, não apenas para o comando em si.
Se você tentar executar o seu .sh sem o parâmetro, provavelmente funcionará, por exemplo,
sudo /bin/bash /var/www/my_bash_script.sh
Então, para dizer aos sudoers para permitir que esse script seja executado com qualquer parâmetro (pelo apache), você precisaria ajustar a linha da seguinte forma:
apache ALL=(ALL) NOPASSWD:/var/www/my_bash_script.sh *
O curinga permite que o apache execute esse script com qualquer parâmetro.
Você também pode precisar / bin / bash nessa linha, mas não tenho certeza
apache ALL=(ALL) NOPASSWD: /bin/bash /var/www/my_bash_script.sh *
Se alguém puder confirmar ou refutar minha compreensão disso, será muito apreciado