Eu não consigo entender o que você quer: $ * mostra os parâmetros posicionais e você não forneceu nenhum, então você não tem saída (além da nova linha).
cat
não lê a entrada padrão quando recebe um arquivo para listar, então myscript.sh | cat myfile.txt
tem o mesmo efeito que myscript.sh ; cat myfile.txt
(não estritamente verdadeiro, mas correto em termos de entrada / saída).
Se você quiser que o seu script copie a entrada para a saída, ela deve conter simplesmente cat
.
Se você quiser uma saída de $ *, então você precisa executar myscript.sh {parameters}
.
E o que você quer dizer com "redirecionar o stdout em outro arquivo em vez de meuarquivo2.txt"? Você presumivelmente não quer dizer ... > myfile3.txt
.