We study the problem of tracking a time-varying reference signal for constrained linear systems. The reference signal is the output of a linear system driven by an unknown bounded input. The goal is to track the reference signal and never violate a predefined tracking error bound. The paper presents the design of a reference tracking controller satisfying state and input constraints and guaranteeing the desired tracking error bound for all admissible reference signals. A model predictive controller (MPC) enforcing a robust invariant set is employed. We show how to compute the robust invariant set and how to design the tracking MPC law which guarantees constraints satisfaction and persistent feasibility. Simulations show the effectiveness of the proposed approach.