certo che puoi, ad es. crea/apre il file specificato da linea di comando (o almeno ci prova)

se la cartella/il file contiene degli spazi, servono gli apici o i doppi apici (se usi questi ultimi, fai attenzione alle shell...)

es.
./a.out 'nome cartella/questo è un file'
oppure
./a.out "${HOME}/dir/.bla bla bla @ @ @ . ?^"

codice:
#include <stdio.h>

int main(int argc, char **argv)
{
	FILE *fnew;

	if (argc != 2) 
		return 1;

	fnew = fopen(argv[1], "a+"); 
	if (fnew == NULL) {
		printf("File %s not opend %s.\n", argv[1]);
		return 1;
	}
        printf("File %s opend.\n", argv[1]);
	if (fclose(fnew) != 0)
		printf("File %s not closed. The system "
				"should do it for us.\n", argv[1]);
	else
		printf("File %s closed.\n", argv[1]);
	return 0;
}