Old Testament stories like the divine command to Abraham to sacrifice his son Isaac present real difficulties, but the main difficulties are false ones.
The greatest false difficulty is expressed in the question, “How could God have approved child sacrifice?” He didn’t. Since God intervened to prevent the slaughter, the point of the story of the command to sacrifice Isaac is not that He wanted child sacrifice, but that Abraham needed to be trained to believe what God has promised him. For Abraham, the issue of trust arises because God has promised to make of his descendants a mighty nation, but now, in Abraham’s extreme old age, He instructs him to slay his only descendant. Indeed, as we learn when the divine law is given, much later in salvation history, God loathes child sacrifice -- but Abraham comes too early in history to know that. He is surrounded by nations that sacrifice their children to their gods. Perhaps it didn’t shock him.
By the way, Abraham did tell Isaac that the Lord Himself would provide a sacrifice -- and He did. It may also be that not only Abraham’s trust, but also Isaac’s trust is at stake. In a letter to the Christians at Corinth, St. Clement, one of the Patristic writers, maintains that “Isaac, with perfect confidence, as if knowing what was to happen, cheerfully yielded himself.” And as we know now, a substitute sacrifice has been provided for all of us.