Aliases são como comandos em que todos os argumentos para eles são passados como argumentos para o programa que eles alias. Por exemplo, se você tivesse alias de ls
to ls -la
, então digitar ls foo bar
seria realmente executar ls -la foo bar
na linha de comando.
Se você quer ter controle real sobre como os argumentos são interpretados, então você poderia escrever uma função assim:
my_program_wrapper() {
local first_arg="$1" \
second_arg="$2"
shift 2 # get rid of the first two arguments
# ...
/path/to/my_program "$@"
}