We consider the problem of cooperative spectrum sharing among a primary user (PU) and multiple secondary users (SUs) under quality of service (QoS) constraints. The SUs network is controlled by the PU through a relay which gets a revenue for amplifying and forwarding the SUs signals to their respective destinations. The relay charges each SU a different price depending on its received signal-to-interference and-noise ratio (SINR). The relay can control the SUs network and maximize any desired PU utility function. The PU utility function represents its rate, which is affected by the SUs access, and its gained revenue to allow the access of the SUs. The SU network can be formulated as a game in which each SU wants to maximize its utility function; the problem is formulated as a Stackelberg game. Finally, the problem of maximizing the primary utility function is solved through three different approaches, namely, the optimal, the heuristic and the suboptimal algorithms.