Entendo que você não deseja modificar myscript
.
Com relação à segunda solução solicitada, você pode usar printf
:
printf '%s\n' text1 text2 text3 text4 | myscript
para que, definindo um apelido para SOMEPROGRAM como:
alias SOMEPROGRAM="printf '%s\n'"
você pode ligar efetivamente para
SOMEPROGRAM text1 text2 text3 text4 | myscript
O primeiro formulário é ambíguo (do ponto de vista de SOMEPROGRAM), porque não sabe onde as opções myscript
terminam e os parâmetros de texto iniciam, a menos que myscript
seja efetivamente invocado sem nenhuma opção. Neste caso, você poderia usar uma função:
SOMEPROGRAM() {
myscript=""
shift
printf '%s\n' "$@" | "$myscript"
}
para que você possa ligar efetivamente
SOMEPROGRAM myscript text1 text2 text3 text4