Se você não souber o comprimento do cabeçalho, head -n1
parece ser uma maneira razoável de obter a primeira linha.
Para escrevê-lo no local de volta à cabeça do arquivo, você pode usar o dd:
head -n1 file.csv | ./do-some-processing | dd of=file.csv bs=1 conv=notrunc
o conv=notrunc
é fundamental para deixar o restante do arquivo intacto e bs=1
deve parar no limite de bytes.