Hai notato che tu apri un file con un nome fisso

fp=fopen("LUT_cos.txt","r");

e lui invece apre un file che può essere indicato dalla linea di comando

FILE *f = fopen(lut_file, "r");


?