Un programa en C supongo, ya que no quieres utilizar programas del sistema, vamos, que no va a ser un shell. Pues lo que puedes hacer es leer todo el fichero y usar las funciones de la biblioteca string de C para buscar y sustituir.
pongo el enunciado de lo que quiero hacer haber si me das una solucion mas especifica.
Se desea Desarrollar un programa para la shell que nos permita cambiar una cadena de caracteres por otra en un fichero previamente determinado.
se pedirá por teclado un fichero en el cual se va a cambiar una cadena de caracteres por otra. Se pedirá también que cadena de caracteres queremos cambiar y por que otra cadena de caracteres queremos cambiar.
NOTA: No se podrá utilizar en el código fuente ninguna orden de unix ni software especifico que realice automáticamente el cambio de una cadena por otra.