Have any of your new addresses, and search for an UTXO with the old address ("listunspent"), that can be used, and note down this address, the tx ID and vout (and maybe adjust the value). These are the steps I used last recently (even with a P2SH address):
bitcoin-cli -regtest listunspent
NEWADDR=mmdox1ww...
UTXO_TXID=d260e120647360... (64 chars)
UTXO_VOUT=0
VALUE=49.9997
RAW_TX=$( bitcoin-cli -regtest createrawtransaction '''[{"txid":"'$UTXO_TXID'","vout":'$UTXO_VOUT'}]''' '''{"'$NEWADDR'":'$VALUE'}''' )
bitcoin-cli -regtest decoderawtransaction $RAW_TX
SIGNED_TX=$( bitcoin-cli -regtest signrawtransaction $RAW_TX | awk -F '\"' '{ print $4 }' )
bitcoin-cli -regtest decoderawtransaction $SIGNED_TX
UTXO_TXID=$( bitcoin-cli -regtest sendrawtransaction $SIGNED_TX )
bitcoin-cli -regtest getrawmempool
bitcoin-cli -regtest generate 1
# verify new address has funds:
bitcoin-cli -regtest validateaddress "$NEWADDR"
bitcoin-cli -regtest getreceivedbyaddress "$NEWADDR"
This will create a transaction from one address to another. While this is ok on testnet/regtest network, it wouldn't make too much sense in production, as this is a regular bitcoin tx, and it involves fees.