The main task of a linker script is to define extra symbols and define how input sections map into output sections. It has other miscellaneous features which can be implemented via command line options:
ENTRYcommand can be replaced by
OUTPUT_FORMATcommand can usually be replaced by
SEARCH_DIRScommand can be replaced by
VERSIONcommand can be replaced by
GROUPcommands can add other files as input. This provides a mechanism to split an archive/shared object into multiple files.