Not sure what your use case is here. If you're just encrypting a file so that your partner can read it and nobody else, and don't care about authentication, replay, or MitM, and you are completely confident in the process that you and your partner use to exchange public keys, then you can use a very simple procedure.
- Generate a symmetric key using an algorithm of your preference.
- Encrypt the file with the symmetric key
- Encrypt the symmetric key with the receiver's public key
- Send 2 and 3 to your partner.
I am not sure why you want to include your own private key in the process. As long as the receiver can decrypt the key (and he can, because you used his public key) then the secret is already "shared" because you generated it so you obviously know it.
Only thing I can think of is maybe you want the receiver to be certain that the file came from you and from nobody else. In that case, I suppose you could
- Take a hash of the whole mess
- Encrypt the hash with your private key
- Send the result of 6 along with 2 and 3
...assuming the receiver has a way to be confident that he has a correct copy of your public key (which is not necessarily trivial).
If you are not completely confident in the process that you and your partner use to exchange public keys, then you will need to leverage a PKI infrastructure, or switch to a simpler scheme such as a shared secret with out of band exchange.