Non vedo il problema....
Per il passaggio di parametri al main :
int main(int argc, char *argv[])
dove in argc ( argument count ) c'è il numero di parametri passato ( viene considerato anche il nome del programma ) e argv ( argument value ) è il vettore di puntatori di caratteri.
Poi leggendo in argv con le funzioni standard puoi trasformare vettori di caratteri in numero ...
L'unico problema è che non puoi sostituire in un file se le stringhe sono di diversa lunghezza.
Quindi devi crearti un altro file da sostituire o no con quello originale, e da cancellare a fine programma.