Yes, it's grammatical. The sentence is employing what's called a ditransitive construction.
Some transitive verbs are also ditransitive verbs, meaning they can take a ditransitive construction. "Give" is one of these verbs and is one of the more common verbs to which we employ ditransitive construction in lieu of the standard transitive construction. Employing a ditransitive construction involves moving the indirect object to immediately after the verb and eliminating the preposition.
Transitive Construction: "His uncle gave money to him."
In the above, the direct object "money," that which receives the direct action of the verb "give," meaning the object that is given, appears immediately after the verb, so the indirect object "him," appears afterward and is introduced by the preposition "to."
Ditransitive Construction: "His uncle gave him money."
In this example, the indirect object "him," appears immediately after the verb, and the direct object "money," appears after that. In so doing, the preposition "to," has been eliminated from before the indirect object. This is what makes the construction ditransitive.
Your sentence is a bit different than the above examples because it is using the verb "give" in its participial form within a phrase as an adjectival modifier with "money," its direct object and the noun it modifies, actually appearing beforehand. That doesn't matter, though. What matters is the placement of the indirect object "him." Since it appears immediately after the verb, the preposition that would normally introduce it can be eliminated because "give" is a ditransitive verb.