{ sed -e/./b -es/$/---/\;q; cat; } <in >out
... não só substituirá a primeira linha vazia com três hipens, como também instruirá sed to q uit tentando ler o arquivo de entrada assim que a primeira linha vazia for encontrada e simplesmente cat o resto. Se você estiver usando o GNU sed , você vai querer usar a opção -u nbufferred.