Use o operador padrão de redirecionamento <> sh , que abre o arquivo no modo de leitura + gravação sem truncamento .
cat < file.in 1<> file.out
Para copiar o conteúdo de file.in no início de file.out .
Se você precisar procurar no arquivo de entrada ou saída e supondo que seu dd ainda suporta essas diretivas:
dd bs=4 count=3 skip=2 seek=3 < file.in 1<> file.out
Se você não tem dd , você pode tentar head -c , assumindo que sua versão cuida de deixar o ponteiro no arquivo no lugar certo ao sair (que as versões mais antigas do busybox não estavam fazendo ).
Por exemplo, o equivalente ao acima seria:
{
head -c 8 > /dev/null # seek input fd to offset 8
head -c 12 <&1 > /dev/null # seek output fd to offset 12
head -c 12 # copy 12 bytes
} < file.in 1<> file.out