You might find this useful:
http://www.eng.mcmaster.ca/eng1/requirements.html
As Leeoku said, you can take summer school to boost your average to a 4 and mover on to second year.
If your GPA is 3 after you finished first year engineering, then you can take summer school courses and try really hard to boost your average to a 4. Note, that when you take summer courses they will consider them as new courses. What i mean is this:
If you took 2 courses in the summer to boost your average, then your total units would be 37+3+3 = 43 units....that's why you have to do really well in the summer courses that you want to take.
If your overall GPA in first year engineering was a 4, then it would be a waste of time (and money) to take summer school courses to push your GPA up, because summer courses can't get you into a high-end program like civil,mechanical or management....unfortu nately that's how things work.
The only thing that you should be focusing on right now, is not worrying about getting into civil or mechanical or management.you should be focusing on how you can pull your overall GPA to a 4 so you can move on to second year engineering.
I am not sure what marks you need this year to get into specific second year engineering programs, but you don't have to do eng physics..you can go into any program that:
1. requires a 4 GPA
2. Is not full
I not sure what these programs are for this year but they might include: eng phys,software, materials,ece...once you finish summer school and your overall GPA is a 4, simply go to sally williams and see what programs you can go into.
You mentioned repeating first year....you can only repeat first year engineering if you apply for reinstatement..they don't accept a lot of people for that, so you have to have a really good reason on why you did bad in first year (like a health condition or something like that).
Good luck !