Mantener el propietario del archivo y los permisos después de copiar el archivo en C

aquí está mi problema: en C, creo la copia de un archivo (con algunos cambios) Esto se hace trivialmente a través de fopen (), getchar y putchar. Copiar el archivo está bien y el archivo de salida en sí es lo que quiero que sea.

Mi problema es: supongo que usaré este programa a menudo como sudo y luego el archivo resultante tiene tanto otro propietario (root) como diferentes permisos (los derechos de ejecución se han ido).

Mi pregunta es: ¿cómo puedo copiar el propietario y los permisos del archivo original y luego escribirlos en el nuevo?

Respuestas a la pregunta(3)

Su respuesta a la pregunta