The key is to speak a different language(s) at home from the one your child hears outside, with friends and at school. You have to be completely strict about it, otherwise you'll slide down the easy route and the kid will end up speaking whatever friends and schoolmates speak. They will learn the outside language automatically.
Kids seem to always prefer the language that their friends/peers speak over their parents' language, by the time they're around 6 or 7 years old, so it's a constant battle. I know several Cuban kids whose parents spoke only Spanish, and they can speak it OK conversationally, but they would rather not. And when all these Cuban kids get together to play, the speak in English.
I think the best way for them to learn several languages is to move to a different country every 5 years, none of which speak your home language

Or spend summers in a different country.