You can use zipnote which should come with the zip package.
First build the zip archive with the myfile.txt file:
zip archive.zip myfile.txt
Then rename myfile.txt inside the zip archive with:
printf "@ myfile.txt\n@=myfile2.txt\n" | zipnote -w archive.zip
(Thanks to Jens for suggesting printf
instead of echo -e
.)
A short explanation of "@ myfile.txt\n@=myfile2.txt\n"
:
From zipnote -h
: "@ name" can be followed by an "@=newname" line to change the name
And \n
separates the two commands.