Tentei colocar rodar com bash -x, o trecho do código onde a execução emperra está assim:
...
$wget "$url/alvo.php?args1=$arg1&arg2=$arg2" | \
sed -n '/<td>bla<\/td>/,/<\/table>/p' | \
sed 's/<a href="" \|td \)[^>]*>//g' | \
sed 's/<font size=3><b>[^<]*<\/b><\/font>//g' | \
sed 's/^ //g;s-</td><td>- -g' | grep -Eo "^[0-9].*" | \
sed 's-</td>.*--g' | \
sed '1s/^/1st\2nd\n/;s/\ \;//g;s/<\/a>//g'| \
sed 's/\(^[0-9]\{1,2\}\) \{7\}/\1 /g' > $arg2.tmp
....
o output do bash -x script.sh mostra:
+ sed -n '/<td>bla<\/td>/,/<\/table>/p'
+ sed 's/<a href="" \|td \)[^>]*>//g'
+ sed 's-</td>.*--g'
+ sed 's/^ //g;s-</td><td>- -g'
+ sed 's/\(^[0-9]\{1,2\}\) \{7\}/\1 /g'
+ sed 's/<font size=3><b>[^<]*<\/b><\/font>//g'
+ grep -Eo '^[0-9].*'
+ sed '1s/^/1st\n2nd\n/;s/\ \;//g;s/<\/a>//g'
E fica travado aqui, não evolui.
O arquivo "$arg2.tmp" é criado com size=0.
....
Notei que a ordem dos comandos do exibidas pelo bash -x está BEM CONFUSA em relação à ordem dos comandos como estão escritos no script.
O comando wget é "traduzido" perfeitamente, exceto pelo excesso de aspas simples que também não sei explicar.
E, novamente: Se eu colocar o comando inteiro ao invés de executar chamando a variável, o problema simplesmente desaparece.
Alterei o script para a forma que funciona (sem chamar o wget pela variável) e a ordem dos comandos não se altera como no bash -x.
O mistério continua. kkkk