If you want an interactive simulation, it's effectively a game, and even if you scrap the interactivity req, i'd approach it in the same way.
Setting up the entire environment from the ground up will take a long time, as you need to model the physics and object interactions, figure out the graphics and controller interaction. IMHO something like Unity is the way to go.
Years ago i played with an airplane simulation made in Matlab, but graphics are a pain and real-time control is virtually impossible. So i later transitioned to python. After too-many-1000s of lines i abandoned the idea.
So today i'd really choose Unity (there are alternatives but i'm not familiar with them) as it'd save me a ton of work.
The issue with cars is that you have 4 objects in constant contact/collision with the ground (object 5) + interacting with the 6th object - body. So to get a decently accurate simulation, the "physics engine" must be quite expansive.
Only then, you add real physics, like aerodynamics, tire deformations, body warping, etc.