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 .