将所有脚本参数复制到另一个variables

我需要复制所有的脚本参数,并将其传递给另一个脚本。 我试图这样做:

args=$@ printargs.sh $args echo ------ printargs.sh "$args" 

但在这种情况下,如果我用包含空格的参数调用我的父脚本,例如:

 script.sh "arg 1" "arg 2" 

然后打印

 arg 1 arg 2 ---- arg 1 arg 2 

我应该如何在bash中执行此操作,或者与POSIX兼容?

$@就像一个数组,所以你的临时存储需要是一个数组:

 args=( "$@" ) # quotes are needed there 

然后使用它们:

 printargs.sh "${args[@]}"