The sessions -u is actually a post/multi/manage/shell_to_meterpreter with predefined options. If you see the advanced options for that module (with show advanced), you should notice it has:
Name Required Description
---- -------- -----------
BOURNE_FILE no Remote filename to use for dropped binary
With a quick google search I found the following questions asked previously on this forum, they are not recent however may provide the answer you are looking for.
In Metasploit, how to use a custom exe as payload?
How can I add modules to a Payload on Metasploit
The following article is also catered specifically to your use case;