Se você estiver executando o script como o mesmo usuário que não tem acesso a senha, ele deve funcionar corretamente, eu me certificaria de que o script está sendo executado como o usuário correto, eu também testaria o script chamando manualmente como o usuário certo.
Você também pode precisar verificar se a seguinte linha não existe no arquivo sudoers ou se você tem uma linha adicional que declara que seu usuário não precisa de um TTY
Defaults requiretty
Se essa linha estiver presente, você pode comentá-la (não é uma boa ideia), provavelmente é melhor adicionar o seguinte em
Defaults:<USERNAME> !requiretty
onde USERNAME é seu usuário