Spectrum resource is experiencing a rapid growth, which cannot meet the demand of the ever-increasing wireless communications technologies in recent years. Spectrum auctions in the secondary market have been considered as a prominent way to solve this challenge due to its fairness and effectiveness. However, most of the existing studies mainly focus on allocating spectrum in units of channels without considering allocate spectrum with variable bandwidths to the secondary users, which has been supported by the software-defined radio technologies. Variable bandwidth trading can make the usage of spectrum more flexible and efficient. Thus, we study the spectrum auction problem where the primary user wants to share a continuous spectrum with the secondary users, and each secondary user has a fixed transmission demand. The target of this work is to design a truthful auction mechanism, which can allocate spectrum with variable bandwidths to the secondary users and maximize the social efficiency at the same time. We first propose a bidmonotone winner determination mechanism to decide the winning secondary users in the auction. Since the optimal winner determination problem is NP-hard, we prove that the proposed mechanism has an approximation factor of 10. Then, a channel allocation mechanism is proposed, which can allocate spectrum to winners without interference. Finally, we compute the critical value for each winner to ensure truthfulness. We can demonstrate that the proposed auction mechanism is truthful through theoretical analysis. We also perform extensive simulations to study the performance of the proposed auction mechanism, and the simulation results corroborate our theoretical analysis.