retroarch -L "/path/to/core.so" "/path/to/rom"
should just work in most cases
When installing cores on a Linux based system, core files AND core info files are all placed in $RetroArch/cores
instead of info files being placed in $RetroArch/info
like on windows.
Spoiler: Steam Rom Manager really does just work on a larger scale. If you're trying to add 20+ games to steam, just use it.