user7867665
user7867665

Reputation: 882

How to pass all but the first argument to a second bash script?

I'm trying to write a bash script that executes another bash script with all but the first argument, so I can't use:

bash abc.sh "$@"

because it will also pass the first argument which I don't want. How can i remove the first argument?

Upvotes: 7

Views: 1873

Answers (1)

Petr Skocik
Petr Skocik

Reputation: 60067

You can remove the first argument with a shift:

shift #same as: shift 1
bash abc.sh "$@"

(In bash, ksh, and zsh, you can also use "${@:2}" without modifying the "$@" array, but shift will work in any POSIX shell.)

Upvotes: 13

Related Questions