I've dealt with pay to pubkey transactions before, see
this post. That post is for claiming Fork coins, which you shouldn't do before securing the Bitcoins.
In short, this is how I'd do it now:
Install Bitcoin Core on an offline air gapped machine. Use this to import the private keys into a non-descriptor wallet.
Install Bitcoin Core on an online machine. Create a non-descriptor wallet, and import the public key. Let the wallet sync a bit. Since you're looking for an old transaction, you probably don't need to sync past 2011 (and save yourself a 650 GB download). Create an unsigned transaction, copy it to your offline system, and sign it.
Or, easier but slower: sync a full Bitcoin Core, take it offline, import the private key, create a new transaction, copy it, and broadcast it from another system.