The library routine getarg(3F) can be used to read the command-line arguments at runtime into a character variable. The argument is interpreted as a file name and used in the OPEN statement FILE= specifier:
demo% cat testarg.f
CHARACTER outfile*40
C Get first arg as output file name for unit 51
CALL getarg(1,outfile)
OPEN(51,FILE=outfile)
WRITE(51,*) 'Writing to file: ', outfile
END
demo% f77 -silent -o tstarg testarg.f
demo% tstarg AnyFileName
demo% cat AnyFileName
Writing to file: AnyFileName
demo%