Para meu entendimento, para manipular arquivos, existe apenas o sys_write syscall no Linux, que sobrescreve o conteúdo do arquivo (ou o estende, se no final).
Por que não há syscalls para inserir ou excluir conteúdo em arquivos no Linux?
Como todos os sistemas de arquivos atuais não exigem que o arquivo seja armazenado em um bloco de memória contínuo, uma implementação eficiente deve ser possível. (Os arquivos seriam fragmentados.)
Com os recursos do sistema de arquivos como "copiar na gravação" ou "compactação transparente de arquivos", a maneira atual de inserir conteúdo parece ser muito ineficiente.