Como enviar a input do usuário para o terminal do programa java (ou seja, por meio de programação)?

Estou executando o comando do programa java como

Process myProcess = Runtime.getRuntime().exec("sudo cat /etc/sudoers"); //It asks for password so I send password through outputstream from my program. InputStream inputStream = myProcess.getInputStream(); OutputStream outputStream = myProcess.getOutputStream(); outputStream.write("mypassword".getBytes()); // write password in stream outputStream.flush(); outputStream.close(); 

Mas o problema é que, novamente, peça-me a senha já que eu já envio a senha através do stream de saída do meu programa. Para resolver isso eu tentei tantas vezes, mas não na verdade.

Usando o shell script, eu posso fornecer senha para o terminal e meu programa funciona bem, mas não é a maneira mais flexível.

Você pode me sugerir alguma maneira de fornecer senha através do meu programa java? (em vez de programação shell)