Leia Por que meu script de shell sufoca em espaços em branco ou outros caracteres especiais? para entender o porquê. A versão de 1 frase é: use sempre aspas duplas em torno das substituições de variáveis.
echo "$firstcontent" >/tmp/myfirstcontentfiles.txt
funciona principalmente: ele não reduz o espaço em branco ou expande curingas no valor da variável. No entanto, isso ainda remove as linhas vazias finais (a substituição de comandos faz isso) e, em alguns shells, o comando echo
expande as barras invertidas. Em seu script, a maneira mais fácil de gravar a saída original do comando em um arquivo é fazê-lo antes que ele atinja o shell:
firstcontent=$(lynx -dump http://some-server/server-status-page | tee /tmp/myfirstcontentfiles.txt)