Den Shunt kannst Du auch kleiner machen. Beachte, dass die Referenz zwischen +12V und dem nichtinvertierenden Eingang liegt, nicht auf Masse bezogen! Schon überlegt, wie Du das mit dem uC hinbekommst? Die Nachfragen, ob es möglich wäre, einen Strom gegen Masse fliessen zu lassen, also ob Deine Last potenzialfrei ist, waren nicht unbegründet!!!
Ausserdem brauchst Du -wie ich schon schrieb- für diese Variante einen OPV, der eingangs- wie ausgangsseitig bis an +Ub herankommt, also einen Rail-to-Rail-OP oder eines der Ausnahmeexemplare, die +Ub einschliessen. Der CA3140 war glaube ich so ein Kandidat. Oder aber Du verwendest als OPV-Speisung eine Spannung größer 12V. Als Transistor kannst Du wie schon gesagt wurde einen P-Kanal-MOSFET benutzen, der im Zweifelsfall 60W (Ausgang kurzgeschlossen, 5A eingestellt, Ub=12V) verheizen kann (Kühlkörper!) oder aber einen PNP-Transistor in Darlington-Schaltung, natürlich auch mit Kühlung.