Isso só funcionará com certos comandos. Quando precisar de uma senha, o sudo falhará como esperado, de uma maneira um tanto quanto feia. Quando isso não acontecer, no entanto, a nova linha será canalizada para o comando que você está executando com o sudo.
cat funciona bem:
cacheson@segfault:~$ echo "" | sudo -S -u cacheson cat file.txt
text file
vim não:
cacheson@segfault:~$ echo "" | sudo -S -u cacheson vim file.txt
Vim: Warning: Input is not from a terminal
Vim: Error reading input, exiting...
Vim: Finished.