Según tengo entendido, para manipular archivos solo hay sys_write syscall en Linux, que sobrescribe el contenido del archivo (o lo extiende, si al final).
¿Por qué no hay syscalls para insertar o eliminar contenido en archivos en Linux?
Como todos los sistemas de archivos actuales no requieren que el archivo se almacene en un bloque de memoria continuo, debería ser posible una implementación eficiente. (Los archivos se fragmentarían).
Con las características del sistema de archivos como "copiar al escribir" o "compresión transparente de archivos", la forma actual de insertar contenido parece ser muy ineficiente.