Se tiver certeza de que o comando enviado sempre será exatamente como
sudo -u user command...
então o seu falso script sudo pode simplesmente jogar fora seus dois primeiros argumentos:
#!/bin/bash
shift 2
exec "$@"
Caso contrário, você precisa fazer uma pequena análise de argumentos:
#!/bin/bash
while getopts :u: opt
do
# normally you'd process options and arguments here,
# but in this case just ignore them
done
shift $((OPTIND-1)) # throw out processed options and arguments
exec "$@"
getopts
lê e retorna opções e argumentos da linha de comando, até que não haja mais. Você pode ler sobre isso no bash (1) ( man bash
) se você quiser saber mais sobre como processar os argumentos da linha de comando.