Karlie here from the Shopify Support Team! If you're wanting to offer a free product, but the customer would need to pay shipping with an additional fee added then I have a few options for you.
Since your products are free, you would just set your product prices down to $0, then you would charge for shipping. To charge for shipping, you could either do manual shipping rates or calculated shipping rates. We have a thorough step by step guide, here, that you can check out to help you enable shipping rates on your storefront.
Now, if you're using calculated rates, then you do have the option to add a rate adjustment when editing calculated rates within your shipping zones. A rate adjustment would allow you to charge a fixed amount or fixed percentage when the customer selects their shipping rate at your store checkout. This option would add the additional charge to the shipping rate, so the customer wouldn't see the additional charge - they would just see the lump sum of what they need to pay for shipping.
Another option would be to use an app like; Autoadd by Brickspace Lab, or Order & Product Fees. Both of these apps would allow you to charge an additional fee on your customer orders. These apps should show the charge as an extra charge for the customer at the checkout stage. If you have any questions about these apps, then you can contact the app developers by using the 'Support' section shown on the app page in the Shopify App Store.
I hope this has answered your question. If not, or if you have any further questions please let me know. I will be happy to help!