Usando curingas no arquivo sudoers
No arquivo sudoers , você pode usar curingas (*), criando assim a possibilidade de executar um script com argumentos.
Um exemplo
Eu testei com um script python incrivelmente simples. No arquivo sudoers eu tive que usar o caminho absoluto para python : /usr/bin/python na linha do arquivo sudoers:
jacob ALL=NOPASSWD: /usr/bin/python /home/jacob/Bureaublad/pscript_1.py*
Então meu código (script python) era:
#!/usr/bin/python
import sys
s1 = sys.argv[1]
s2 = sys.argv[2]
print(s1)
print(s2)
Então eu corri em um terminal:
~$ sudo python '/home/jacob/Bureaublad/pscript_1.py' monkey banana
monkey
banana
sem pedir minha senha.
Da mesma forma, você deve conseguir o que deseja adicionando a seguinte linha ao arquivo sudoers :
<your_username> ALL=NOPASSWD: /path/to/java <your_script>*
E execute o script por:
sudo java <script> <args>
e não lhe será pedida a sua senha.
Mais informações
Uma fonte interessante sobre como usar o arquivo sudoers pode ser este .