We want to create a multi-signature address with 2 components.
(private key 1) & (private key 2) = multi-signature address (P2SH)
i think you should start by first learning what bitcoin scripts are so that a lot of your mistakes and confusions go away. for starters P2SH is not equal to multi-signature. it is simply a pay to script hash type of script that can have any type of script.
https://en.bitcoin.it/wiki/Scriptif you want to use a script that is "unlocked" by requiring multiple signature and with SegWit then your best option is using a P2WSH script type with a redeem script that is a standard OP_2 pub1 pub2 OP_2 OP_CHECKMULTISIG script.