Думаю bash будет попроще в данном случае. На Си пока всё отрепетируешь, пока решишь все Segmentation Fault будет потрачено прилично времени, а задачка того не стоит. В bash есть инструменты для поисков, чтения построчно в переменные и тд.
здесь точно напутано с экранированием спец. символов, а так же не сделаны некоторые обработки для отсутствующих файлов и много чего еще. Дорабатывайте на здровье :D